package com.junsi.demo.service;

import java.util.List;

import com.junsi.common.annotation.DataSource;
import com.junsi.common.enums.DataSourceType;
import com.junsi.demo.domain.Demo;

/**
 * 测试用例 服务层
 * 
 * @author junsi
 * @date 2019-08-17
 */
public interface IDemoService 
{
	/**
     * 查询测试用例信息 master 默认主数据库
     * 
     * @param id 测试用例ID
     * @return 测试用例信息
     */
	public Demo selectDemoById(Integer id);

	/**
	 * 查询测试用例信息 slave 第二数据库
	 * <br/> 注解加到 service 实现类中
	 * @param id 测试用例ID
	 * @return 测试用例信息
	 */
    @DataSource(value = DataSourceType.SLAVE)
	public Demo selectDemoById_slave4Service(Integer id);

    /**
	 * 查询测试用例信息 slave 第二数据库
	 * <br/> 注解加到 mapper 接口中
	 * @param id 测试用例ID
	 * @return 测试用例信息
	 */
	public Demo selectDemoById_slave4Mapper(Integer id);

    /**
     * 查询测试用例列表
     * 
     * @param demo 测试用例信息
     * @return 测试用例集合
     */
	public List<Demo> selectDemoList(Demo demo);
	
	/**
     * 新增测试用例
     * 
     * @param demo 测试用例信息
     * @return 结果
     */
	public int insertDemo(Demo demo);
	
	/**
     * 修改测试用例
     * 
     * @param demo 测试用例信息
     * @return 结果
     */
	public int updateDemo(Demo demo);
		
	/**
     * 删除测试用例信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteDemoByIds(String ids);


}
